# @Time : 2024-10-24 10:46
# @Author : Fioman 
# @Phone : 13149920693
"""
类变量: 隶属于类,所有的实例共享一个变量,可以使用类和对象进行访问.但是不能使用对象.的方式进行修改,那样会
            创建一个新的同名的实例变量
实例变量: 隶属于实例,每个实例都单独的拥有一个变量副本,只能通过实例进行访问.
"""


class MyClass(object):
    # 类变量
    ClassVal = 100

    def __init__(self):
        self.a = 200  # 实例变量
        self.b = 300  # 实例变量


obj = MyClass()
# 通过实例和类对象去访问类变量
print(obj.ClassVal, MyClass.ClassVal)
# 通过实例去访问实例变量
print(obj.a, obj.b)
# # 通过类去访问实例变量
# print(MyClass.a, MyClass.b) # 报错 AttributeError

# 然后是通过实例变量更新类变量
obj.ClassVal = 1000  # 这里其实是重新创建了一个实例变量
print(obj.ClassVal, MyClass.ClassVal)  # 1000 100
